package Work.stringWork4;

import java.util.HashSet;
import java.util.Set;

/**
 * 4、使用Java实现双色球功能，具体规则如下：
 * 双色球规则红球33选6，蓝球16选1，不允许重复
 * 使用Math类的random()方法在1到33内随机产生6个红球号码，
 * 每产生一个判断是否已经在数组中存在 ，不存在则保存于数组，否则重选
 * 从1到16间随机产生一个蓝球号码。
 */
public class Lottery {
    static Set<Integer> lotteryRed = new HashSet<Integer>();

    //产生红球随机数
    public static void produceRedRandom() {
        Integer randomNo = (int) ((Math.random() * 33) + 1);
        lotteryRed.add(randomNo);
        while (lotteryRed.size() != 6) {
            Integer random = (int) ((Math.random() * 33) + 1);
            for (Integer integer : lotteryRed) {
                if (!lotteryRed.contains(random)) {
                    lotteryRed.add(random);
                    break;
                }
            }
        }
        //6个红色球号码
        for (Integer integer : lotteryRed) {
            System.out.println(integer);
        }
    }

    public static void main(String[] args) {
        //篮球号码
        int blueRandom = (int) ((Math.random() * 16) + 1);
        System.out.println("双色球预测号：");
        produceRedRandom();
        System.out.println(blueRandom);
        System.out.println("预祝你早日中大奖！！！");
    }
}
